package com.cashmama.market.api.application.controller.user.profile.response;

import com.cashmama.market.api.domain.vo.order.PermissionsInfo;
import com.cashmama.market.api.domain.vo.order.SmsReportInfo;
import com.cashmama.market.api.domain.vo.user.profile.UserCreditVO;
import com.cashmama.market.api.infras.handler.ResponseData;

/**
 * @program: market-api
 * @description
 * @author: frank
 * @create: 2020-01-09 15:05
 **/
public class UserCreditResponse implements ResponseData {

    private Integer creditStatus;
    private String amount;
    private String jumpUrl;
    private boolean needALGO360Verify = false;
    private PermissionsInfo permissionsInfo;
    private SmsReportInfo smsReportInfo;


    public UserCreditResponse(UserCreditVO userCreditVO) {
        this.creditStatus = userCreditVO.getCreditStatus();
        this.amount = userCreditVO.getAmount();
        this.jumpUrl = userCreditVO.getJumpUrl();
        this.needALGO360Verify = userCreditVO.isNeedALGO360Verify();
        this.permissionsInfo = userCreditVO.getPermissionsInfo();
        this.smsReportInfo = userCreditVO.getSmsReportInfo();
    }

    public SmsReportInfo getSmsReportInfo() {
        return smsReportInfo;
    }

    public UserCreditResponse setSmsReportInfo(SmsReportInfo smsReportInfo) {
        this.smsReportInfo = smsReportInfo;
        return this;
    }

    public boolean isNeedALGO360Verify() {
        return needALGO360Verify;
    }

    public UserCreditResponse setNeedALGO360Verify(boolean needALGO360Verify) {
        this.needALGO360Verify = needALGO360Verify;
        return this;
    }

    public PermissionsInfo getPermissionsInfo() {
        return permissionsInfo;
    }

    public UserCreditResponse setPermissionsInfo(PermissionsInfo permissionsInfo) {
        this.permissionsInfo = permissionsInfo;
        return this;
    }


    public Integer getCreditStatus() {
        return creditStatus;
    }

    public UserCreditResponse setCreditStatus(Integer creditStatus) {
        this.creditStatus = creditStatus;
        return this;
    }

    public String getAmount() {
        return amount;
    }

    public UserCreditResponse setAmount(String amount) {
        this.amount = amount;
        return this;
    }

    public String getJumpUrl() {
        return jumpUrl;
    }

    public UserCreditResponse setJumpUrl(String jumpUrl) {
        this.jumpUrl = jumpUrl;
        return this;
    }
}
